Cloud architectures are used in cloud computing and cloud storage systems for offering infrastructure-as-a-service (IaaS) cloud services. Examples of cloud architectures include the VMware vCloud Director® cloud architecture software, Amazon EC2™ web service, and OpenStack™ open source cloud computing service. IaaS cloud service is a type of cloud service that provides access to physical and/or virtual resources in a cloud environment. These services provide a tenant application programming interface (API) that supports operations for manipulating IaaS constructs, such as virtual machines (VMs) and logical networks.
A hybrid cloud system aggregates the resource capability from both private and public clouds. A private cloud can include one or more customer datacenters (referred to herein as “on-premise datacenters”). The public cloud can include a multi-tenant cloud architecture providing IaaS cloud services. In a hybrid cloud system, it is desirable to support VM migration between the datacenter and the public cloud. Presently, to implement VM migration, a customer must first create a VM from scratch within the public cloud and then transfer data from a powered-off source VM in the on-premise datacenter to the newly created VM in the public cloud. This process has the disadvantage of significant downtime for the VM being migrated.